Generally, transmission of data from a transmitter device to a receiver device takes a lot of time. This is due to the bandwidth and processing power limitations of the communication network. Thus, some data compression techniques are used to compress the data before data transmission. The data compression techniques are used to save data storage space. The data compression techniques also help to increase the effective data transfer rate between transmitter and receiver. Some frequently used data compression techniques are Huffman coding and Truncated Huffman coding. In the Huffman coding technique, a Huffman tree is generated and variable length code is assigned to each source symbol present in a data frame. In truncated Huffman coding, bit codes are assigned to a particular set of source symbols, from the data frame, using the Huffman coding.
Further, both of these data compression techniques requires many clock cycles, memory capacity and logic resources in order to generate the Huffman tree and compress the data. Also, these data compression techniques comprise generation of tree and assigning bit code to the symbols. Thus, these data compression techniques are complex. It may take a lot of time to compress the data using these data compression techniques, if there exists huge amount of data. Moreover, for small data frames, the tree information may require too much data to be transmitted, decreasing the overall compression efficiency. Thus, it may not be appropriate to use these data compression techniques for real-time applications.